package cn.edu.zafu.bigdata.xct.YiChangChuLi;

import java.util.Scanner;

public class ScoreCheckExample {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        try {
            System.out.print("请输入分数: ");
            int score = scanner.nextInt();
            checkScore(score); // 调用checkScore方法
        } catch (InvalidScoreException e) {
            // 捕获InvalidScoreException异常，并输出错误信息
            System.err.println("错误: " + e.getMessage());
        } catch (Exception e) {
            // 捕获其他可能的异常，例如输入不是整数
            System.err.println("发生错误: " + e.getMessage());
        } finally {
            // 关闭scanner对象
            scanner.close();
        }
    }

    // 定义自定义异常类InvalidScoreException，继承自Exception
    static class InvalidScoreException extends Exception {
        public InvalidScoreException(String message) {
            super(message);
        }
    }

    // 定义一个静态方法checkScore，该方法接收一个score参数
    static void checkScore(int score) throws InvalidScoreException {
        if (score < 0 || score > 100) {
            // 如果score小于0或大于100，抛出InvalidScoreException
            throw new InvalidScoreException("分数必须在0到100之间。");
        }
        System.out.println("分数有效。");
    }
}